<?php  
namespace App\Http\Controllers\Member;

use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Response;
use App\Models\Category;
class MemberController extends Controller {
	
    protected $uid;
    
    /**
     * @var gzxz  工作性质字典
     * 工作性质  0 全职， 1 兼职 ， 2 实习 ，默认0 全职
     */
    protected $gzxz = array();
    
    /**
     * @var salary 薪资 字典
     * 薪资 0:2k以下；1：2k-5K；2：5k-10k; 3:10k-15k; 4:15k-25k; 5:25k-50k; 6:50k以上 默认0
    */
    protected $salary = array();
    
    /**
     * @var degree 学历
     * 0：大专；1本科；2:硕士；3：博士；4其它； 默认0
    */
    protected $degree = array();
    
    /**
     * @var gznx 工作年限
     * 工作年限 0 应届毕业生 1：1年 ； 2：2年 。。。。10：年  ； >10 为10年以上
    */
    protected $gznx = array();
    
    /**
     * @var status 职位状态 0 未审核  1:审核通过 2:审核不通过; 3:关闭
    */
    protected $status = array();
    
    protected $roles;
    
    protected $item = 5;  //最大5级分类
    
    public function __construct()
    {
        $this->middleware('auth');
        $this->middleware('account');
        $this->uid = Auth::user()->id;
        $this->gzxz = array(0=>'全职',1=>'兼职',2=>'实习');
        $this->salary = array(0=>'2k以下',1=>'2k-5k',2=>'5k-10k',3=>'10k-15k',4=>'15k-25k',5=>'25k-50k',6=>'50k以上',7=>'面议');
//         $this->gznx = array(0=>'应届毕业生',1=>'1年以下',2=>'1-3年',3=>'3-5年',4=>'5-10年',5=>'10年以上',100=>'不限');
        $this->gznx = array(0=>'应届毕业生',1=>'1年',2=>'2年',3=>'3年',4=>'4年',5=>'5年',6=>'6年',7=>'7年',8=>'8年',9=>'9年',10=>'10年',11=>'10年以上');
        $this->degree = array(0=>'大专',1=>'本科',2=>'硕士',3=>'博士',4=>'其他',100=>'不限');
    }

    
    public function formatJson($status='success',$msg='没有更多数据',$data=array(),$redirectUrl = '')
    {
        $result = array(
            'status'        => $status,
            'msg'           => $msg,
            'data'          => $data,
            'redirectUrl'   => $redirectUrl
        );
        return Response::json($result);
    }

    /**
     * 格式化分类参数
     * @param unknown $fourchild
     * @param unknown $subchild
     * @param unknown $child
     * @param unknown $type
     * @return Ambigous <number, unknown>
     */
    protected function getTypes($type,$child,$subchild,$fourchild)
    {
        if(isset($fourchild) && $fourchild !== 'undefined' && $fourchild != 'null' )
        {
            $cateid = $fourchild;
        }
        else
        {
            if((isset($subchild) && $subchild != 0 && $subchild !== 'undefined' && $subchild != 'null'))
            {
                $cateid = $subchild;
            }
            else
            {
                if(isset($child) && $child != 0 && $child !== 'undefined' && $child != 'null')
                {
                    $cateid = $child;
                }
                else
                {
                    if(isset($type) && $type !== 'undefined' && $type != 'null')
                    {
                        $cateid = $type;
                    }
                    else
                    {
                        $cateid = 0;
                    }
                }
            }
        }
        return $cateid;
    }
    
    /**
     * 根据子分类获取父分类
     * @param  $catid
     * @param  $pid
     * @return multitype:multitype: Ambigous <multitype:, unknown>
     */
    protected function getCate($catid,$pid,$app="employ")
    {
        if($pid>0)
        {
            $this->nowCategory[$this->item] = Category::where(array('pid'=>$pid,'app'=>$app))->get();  //当前平级分类
            $upcate = Category::where(array('cat_id'=>$pid,'app'=>$app))->first();   //获取父级分类
            if(!empty($upcate))
            {
                --$this->item;
                $this->upc[] =$upcate->cat_id;
                if ($upcate->pid > 0)
                {
                    $this->getCate($upcate->cat_id,$upcate->pid);
                }
            }
            $this->nowCategory = array_sort($this->nowCategory,function ($key,$value){
                return $value;
            });
        }
        $this->upc[] = $catid;
        return array('list'=>$this->nowCategory,'id'=>$this->upc);
    }
	
}